﻿using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Zadani09.db.DAO;

namespace Zadani09.db.ODS
{
    [DataObject(true)]
    public class SerieDiloDataObject
    {

        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Dilo> dila_v_serii(int serie)
        {
            List<Dilo> vrat = DAOTovarna.instance.getDiloDAO().nahrejDilaVserii(serie);

            if (vrat == null) vrat = new List<Dilo>();

            return (vrat);
        }

        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Dilo> dila_ne_v_serii(int serie)
        {
            List<Dilo> vrat = new List<Dilo>();

            List<Dilo> vsechna = DAOTovarna.instance.getDiloDAO().loadList(0, 0);
            List<Dilo> v_serii = dila_v_serii(serie);

            vrat = vsechna.Except<Dilo>(v_serii,
                        new AtributEqualityComparer<Dilo>("id_dilo")).ToList<Dilo>();

            return (vrat);
        }

        [DataObjectMethod(DataObjectMethodType.Insert)]
        public void prirad_dilo_do_serie(int serie, int dilo)
        {
            DAOTovarna.instance.getSerieDAO().pridejDilo(serie.ToString(), dilo.ToString());
        }

        [DataObjectMethod(DataObjectMethodType.Delete)]
        public void smaz_dilo_ze_serie(int serie, int dilo)
        {
            DAOTovarna.instance.getSerieDAO().smazDilo(serie.ToString(), dilo.ToString());
        }
    }
}
